﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace NMF.Languages
{
    public class RegexType : StringType
    {
        public RegexType() : base("Regex") {}

        public Regex Regex { get; set; }

        public override void Visit(ITypeVisitor visitor)
        {
            visitor.VisitRegexType(this);
        }

        public override T Visit<T>(ITypeVisitor<T> visitor)
        {
            return visitor.VisitRegexType(this);
        }

        public override T Visit<S, T>(ITypeVisitor<S, T> visitor, S parameter)
        {
            return visitor.VisitRegexType(this, parameter);
        }
    }
}
